unit Unit1;

{$mode ObjFPC}{$H+}

interface

uses Unit2;

type
  TUser = class(TInterfacedObject,ISay)
  private
    FName : string;
    FAge: Integer;
  public
    constructor Create(AName: string; AAge: Integer);
  published
    property Name: string read FName write FName;
    property Age: Integer read FAge write FAge;
    procedure SayHello;
end;

implementation

constructor TUser.Create(AName: string; AAge: Integer);
begin
  FName := AName;
  FAge := AAge;
end;

procedure TUser.SayHello;
begin
  WriteLn(' hello  ', FName);
end;

end.

